package com.woniu.microcommonsserver.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 房间-收费项目中间表
 * @author hejie
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RoomChargedItemsInfoEntity implements Serializable {

	private Long id;
	/**
	 * 收费项目外键
	 */
	private ChargedItemsInfoEntity chargedItemsInfoEntity;
	/**
	 * 房间外键
	 */
	private SpaceInfoEntity spaceInfoEntity;
	/**
	 * 录入人外键totalPayable
	 */
	private UserInfoEntity userInfoEntityInput;
	/**
	 *审核人外键
	 */
	private UserInfoEntity userInfoEntityReviewer;

	/**
	 * 计费起始日期
	 */
	private Date billStartDate;
	/**
	 * 计费截止日期
	 */
	private Date billEndDate;
	/**
	 * 违约开始日期
	 */
	private Date defaultStartTime;
	/**
	 * 收费数量（非周期方式的计费时）
	 */
	private Integer num;
	/**
	 * 倍率
	 */
	private Double magnification;
	/**
	 * 应收金额
	 */
	private Double amountReceivable;
	/**
	 * 缓交金额
	 */
	private Double deferredPaymentAmount;
	/**
	 * 减免金额
	 */
	private Double deductionAmount;
	/**
	 * 违约金：'滞纳金率*滞纳天数吗？'
	 */
	private Double liquidatedDamages;
	/**
	 * 优惠金额
	 */
	private Double preferentialAmount;
	/**
	 * 备注
	 */
	private String remarks;
	/**
	 * 是否使用阶梯单价：1-使用，2-不使用
	 */
	private Byte isTieredUnitPrice;
	/**
	 * 阶梯方式：1-本次阶梯，2-全部阶梯（永久吗？）
	 */
	private Byte ladderMode;
	/**
	 * 阶梯一下限
	 */
	private Double stepOneLowerLimit;
	/**
	 * 阶梯一上限
	 */
	private Double stepOneHighLimit;
	/**
	 * 阶梯一单价
	 */
	private Double unitPriceLadderOne;
	/**
	 * 阶梯二下限
	 */
	private Double stepTwoLowerLimit;
	/**
	 * 阶梯二上限
	 */
	private Double stepTwoHighLimit;
	/**
	 * 阶梯二单价
	 */
	private Double unitPriceLadderTwo;
	/**
	 * 录入时间
	 */
	private Date inputTime;
	/**
	 * 审核状态。1-已经审核，2-待审核
	 */
	private Byte approvalStatus;
	/**
	 * 审核时间
	 */
	private Date approvalTime;
	/**
	 * 预交抵扣
	 */
	private Double prepaidDeduction;
	/**
	 * 支付方式。1-现金，2-银行卡，3-微信，4-支付宝，5-预交金抵扣
	 */
	private Byte paymentMethod;
	/**
	 * 零钱选项。1-退补，2-转预存
	 */
	private Byte changeOptions;
	/**
	 * 零钱找补：找补多少钱
	 */
	private Double changeMakeUp;
	/**
	 * 票据类型。1-收据，2-发票
	 */
	private Byte noteType;
	/**
	 * 是否打印发票。1-打印，2不打印
	 */
	private Byte isPrintBill;
	/**
	 * 收费日期（“应收明细”）
	 */
	private Date chargeDate;
	/**
	 * 是否完成支付（自己定义的）
	 */
	private Byte completePaymentStatus;
	/**
	 * 减免登记状态：1-已登记，2未登记
	 */
	private Byte exemptionRegistrationStatus;
	/**
	 * 减免登记时间
	 */
	private Date exemptionRegistrationTime;

	/**减免登记人外键
	 */
	private UserInfoEntity userInfoEntityExeRegist;

}
